---
slug: /ci/quickstart
hide_table_of_contents: false
title: "Dagger for CI: Quickstart"
---

# Dagger for CI: Quickstart

Welcome to Dagger, a programmable tool that lets you replace your software project's artisanal scripts with a modern API and cross-language scripting engine.

Dagger helps you create a consistent, reliable development and testing environment on your local host and ensure that everything your CI can do, your local environment can do too.

## Topics

This quickstart introduces you to:

- The Dagger API, which lets you use core primitives to stitch together powerful pipelines out of containers, artifacts, network services, and secrets – all in type-safe Go, Python, TypeScript, PHP, or Java.
- Dagger Functions, which let you encapsulate code into software components which can be loaded into any Dagger Engine, and called by other Dagger Functions.
- The Dagger CLI, which lets you create, inspect and invoke Dagger Functions from the command line.
- Dagger Cloud, which lets you visualize your Dagger pipelines, streamline them, and debug errors.
- The Daggerverse, which lets you search and consume publicly available Dagger Functions.

## Goal

After going through this quickstart, you will have the tools and skills to test, build and release your application using Dagger Functions.

## Approach

This quickstart is structured as a hands-on workshop, in which you will create and run Dagger Functions to test, build and publish an example application.

- To begin, you will build a delivery pipeline for the example application using only the Dagger API. This is an important first step to learn how Dagger works and to understand key concepts and techniques.
- Next, you will simplify the pipeline using a Dagger module from the Daggerverse. This introduces you to the Daggerverse and the reusability benefits it offers.

## Requirements

This quickstart will take you approximately 25 minutes to complete. You should be familiar with programming in Go, Python,  TypeScript, PHP, or Java.

Before beginning, ensure that:
- you know [what Dagger is](../../index.mdx).
- you have [Git](https://git-scm.com/downloads) and a container runtime installed on your system and running. This can be [Docker](https://docs.docker.com/engine/install/), but you can also use Podman, nerdctl, or other Docker-like systems.
- you have a GitHub account (optional, only if configuring Dagger Cloud)
